Skip to content

Follow the framework: no favicon field, a fixed page title, types and the exit interface under their new names - #172

Merged
oblomov-dev merged 4 commits into
mainfrom
claude/abap2ui5-favicon-redundancy-x8pyp5
Aug 21, 2026
Merged

Follow the framework: no favicon field, a fixed page title, types and the exit interface under their new names#172
oblomov-dev merged 4 commits into
mainfrom
claude/abap2ui5-favicon-redundancy-x8pyp5

Conversation

@oblomov-dev

Copy link
Copy Markdown
Member

Four changes on abap2UI5 main (abap2UI5/abap2UI5#2647), and what this site had to say about each.

The favicon page is gone. cs_config-favicon was rolled back — the tab icon was always reachable from the running app through cs_event-set_favicon, and a second way to set it had earned a page here documenting a field readers cannot use. resources/logo.md linked to that page for "an app that sets its own"; it now names the frontend event and points at the cookbook, so nothing dangles.

The tab title is set by the app, not by the exit. cs_config-title still compiles but is no longer read. Four places said otherwise, one of them by example: User Exits taught cs_config-title = 'my title' as the first line of the first example anyone copies, Setup listed the title among the things the generated index.html gets configured with, and the cookbook's Title page now leads with the rule — the page always carries <title>abap2UI5</title>, and from the first roundtrip on the app owns it. Deprecations carries the row and the section.

z2ui5_if_types is retired. Every type now sits on the object that uses it. Deprecations gets the full old-to-new table plus the part that decides whether anyone has to act: the interface still ships unchanged and every moved type is identical field for field, so existing code compiles and still fits the new signatures. advanced/renaming.md listed it as one of four segment-less public interfaces; it is three now, with the fourth named as what it became.

z2ui5_if_exit becomes z2ui5_if_ui5_exit. Both ship, the framework looks up both, a class implementing the old one is found and called exactly as before, and one implementing both is called once. Deprecations shows both class skeletons side by side.

Everything new is marked next release — it is on main and in no release yet.

Why the examples still write z2ui5_if_exit

check:examples compiles every fenced ABAP block against the released framework (1.143.0), which has neither z2ui5_if_ui5_exit nor the new type homes. So the examples on Setup, Security, Style/CSS, Bootstrap Attributes and Logon Language stay on the old names and follow after a release. The User Exits page carries a tip saying so.

Checks

npm run test (20/20), npm run docs:build — which is the dead-link gate — npm run check:examples (46 examples on 28 pages, linter clean) and npm run check:samples, all green.

🤖 Generated with Claude Code

https://claude.ai/code/session_018j2333w6boi4XEDiWo8qBF


Generated by Claude Code

claude added 4 commits August 21, 2026 07:06
Reverts "Document the tab icon next to the other things the exit sets"
(#164), because abap2UI5 is taking `cs_config-favicon` back out
(abap2UI5/abap2UI5#2645 reverted): the tab icon was already reachable
from the running app through `cs_event-set_favicon`, and a second way to
set it earned a page here that documents a field readers cannot use.

The runtime mechanism keeps its documentation - `set_favicon` stays in
[Title](/cookbook/browser_interaction/title), which the removed page
pointed at anyway.

`resources/logo.md` linked to the removed page for "an app that sets its
own": it now names the frontend event and links the cookbook page, so the
sentence keeps saying the true thing and no link dangles.
abap2UI5 fixes the generated page's <title> to `abap2UI5` and stops
reading `cs_config-title` (abap2UI5/abap2UI5, on main). The tab title is
`cs_event-set_title` from the running app, and nothing else.

Four pages said otherwise, one of them by example:

- User Exits taught `cs_config-title = 'my title'` as the first line of
  the first example every reader copies. The line is gone, the sentence
  above it no longer promises the page title, and a warning says the field
  still compiles but does nothing.
- Setup called the title one of the things the generated index.html gets
  configured with; it now says the tab title is not on that list and where
  it is set instead.
- Title (cookbook) leads with the rule: the page always carries
  `<title>abap2UI5</title>`, that is what the tab shows while UI5 boots,
  and from the first roundtrip on the app owns it.
- Deprecations has the row and the section, old code next to new, marked
  *next release* - it is on main and in no release yet.

Release notes untouched: the field is not gone, and the behaviour change
belongs to the version that ships it.
abap2UI5 retires `z2ui5_if_types`: every type it held now sits on the object
whose signature is the reason it exists — `ty_s_get` and `ty_s_event_control`
on `z2ui5_if_client`, the three HTTP config types on `z2ui5_if_exit`,
`ty_s_draft` on `z2ui5_cl_ui5_srv_draft`, `ty_s_config` written out inside
`ty_s_get`.

Deprecations gets the row and a section with the full old-to-new table, and
says the part that decides whether anyone has to act: the interface still
ships unchanged from the frozen package and every moved type is identical
field for field, so existing code compiles and still fits the new
signatures. Marked *next release* — it is on main and in no release yet.

Renaming listed `z2ui5_if_types` as one of the four segment-less public
interfaces. It is three now, with the fourth named as what it became.
abap2UI5 renames `z2ui5_if_exit` to `z2ui5_if_ui5_exit` (on main). Both
interfaces ship and the framework looks up both, so an existing exit class
is found and called exactly as before.

Deprecations gets the row and a section with both class skeletons next to
each other, and states the part that decides whether anyone has to act: a
class implementing the old interface keeps working, one implementing both is
called once through the new one, and the old interface's types are
references to the new one's rather than copies. Marked *next release*.

User Exits gets a tip, because it is the page somebody reads while writing
an exit. The example there still writes `z2ui5_if_exit` — every fenced ABAP
example on this site is compiled against the RELEASE, and the new name is
not in one yet. The examples follow when it is.
Copilot AI lite review requested due to automatic review settings August 21, 2026 09:37

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@oblomov-dev
oblomov-dev merged commit e09ac39 into main Aug 21, 2026
1 check passed
@oblomov-dev
oblomov-dev deleted the claude/abap2ui5-favicon-redundancy-x8pyp5 branch August 21, 2026 09:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants